import request from "@/utils/request"

/**
 *@params：
 *@desc：
 * 分享文本、歌曲、歌单、mv、电台、电台节目到动态
 * 说明 : 登录后调用此接口 ,可以分享文本、歌曲、歌单、mv、电台、电台节目到动态
 *
 * 必选参数 : id : 资源 id （歌曲，歌单，mv，电台，电台节目对应 id）
 *
 * 可选参数 : type: 资源类型，默认歌曲 song，可传 song,playlist,mv,djradio,djprogram album专辑
 *
 * msg: 内容，140 字限制，支持 emoji，@用户名（/user/follows接口获取的用户名，用户名后和内容应该有空格），图片暂不支持
 *
 * 接口地址 : /share/resource
 *
 * 调用例子 : /share/resource?id=1297494209&msg=测试
 * /share/resource?type=djradio&id=336355127
 * /share/resource?type=djprogram&id=2061034798
 * /share/resource?type=djprogram&id=2061034798&msg=测试@binaryify 测试
 * /share/resource?type=noresource&msg=测试
 *@author：羽
 *@date 2022/08/11 10:58:58
 */

export const getShareResource = (params = {id: '', type: 'playlist', msg: ''}) => {
  return request({
    method: 'get',
    url: '/share/resource',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：
 * 获取用户关注列表
 * 说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户关注列表
 *
 * 必选参数 : uid : 用户 id
 *
 * 可选参数 :
 *
 * limit : 返回数量 , 默认为 30
 *
 * offset : 偏移数量，用于分页 ,如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
 *
 * 接口地址 : /user/follows
 *
 * 调用例子 : /user/follows?uid=32953014
 *@author：羽
 *@date 2022/08/11 14:27:33
 */
// 获取关注
export const getUserFollows = (params = {uid: 0, limit: 30, offset: 0}) => {
  return request({
    method: 'get',
    url: '/user/follows',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：获取用户粉丝列表
 * 说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户粉丝列表
 *
 * 必选参数 : uid : 用户 id
 *
 * 可选参数 : limit : 返回数量 , 默认为 30
 *
 * offset : 偏移数量，用于分页 ,如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
 *
 * 接口地址 : /user/followeds
 *
 * 调用例子 : /user/followeds?uid=32953014 /user/followeds?uid=416608258&limit=1 /user/followeds?uid=416608258&limit=1&offset=1
 *@author： 羽
 *@date： 2022/11/06 15:28:27
 */

export const getUserFolloweds = (params = {uid: 0, limit: 30, offset: 0}) => {
  return request({
    method: 'get',
    url: '/user/followeds',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}


/**
 *@params：发送私信
 * 说明 : 登录后调用此接口 , 传入用户 id 和要发送的信息, 可以发送私信,返回内容为历史私信,包含带歌单的私信信息(注:不能发送私信给自己)
 *
 * 必选参数 :
 *
 * user_ids : 用户 id,多个需用逗号隔开
 *
 * msg : 要发送的信息
 *
 * 接口地址 : /send/text
 *
 * 调用例子 : /send/text?user_ids=32953014&msg=test,/send/text?user_ids=32953014,475625142&msg=test
 *@desc：
 *@author： 羽
 *@date： 2022/11/03 12:02:23
 */
export const sendText = (params = {user_ids: '', msg: ''}) => {
  return request({
    method: 'get',
    url: '/send/text',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}


/**
 *@params：
 *@desc：
 * 发送私信(带歌单)
 * 说明 : 登录后调用此接口 , 传入用户 id 和要发送的信息和歌单 id, 可以发送带歌单的私信(注:不能发送重复的歌单)
 *
 * 必选参数 :
 *
 * user_ids : 用户 id,多个需用逗号隔开
 *
 * msg : 要发送的信息
 *
 * 接口地址 : /send/playlist
 *
 * 调用例子 : /send/playlist?msg=test&user_ids=475625142&playlist=705123491,/send/playlist?msg=test2&user_ids=475625142,32953014&playlist=705123493
 *@author：羽
 *@date 2022/08/11 17:29:42
 */
export const sendPlaylist = (params = {user_ids: '', id: '', msg: '', playlist: ''}) => {
  return request({
    method: 'get',
    url: '/send/playlist',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：
 * 发送私信(带歌曲)
 * 说明 : 登录后调用此接口 , 传入用户 id 和要发送的信息,音乐 id, 可以发送音乐私信,返回内容为历史私信
 *
 * 必选参数 :
 *
 * user_ids : 用户 id,多个需用逗号隔开
 *
 * id : 要发送音乐的 id
 *
 * msg : 要发送的信息
 *
 * 接口地址 : /send/song
 *
 * 调用例子 : /send/song?user_ids=1&id=351318&msg=测试
 *@author：羽
 *@date 2022/08/12 14:18:33
 */
export const sendSong = (params = {user_ids: '', id: '', msg: ''}) => {
  return request({
    method: 'get',
    url: '/send/song',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}
/**
 *@params：关注/取消关注用户
 * 说明 : 登录后调用此接口 , 传入用户 id, 和操作 t,可关注/取消关注用户
 *
 * 必选参数 :
 *
 * id : 用户 id
 *
 * t : 1为关注,其他为取消关注
 *
 * 接口地址 : /follow
 *
 * 调用例子 : /follow?id=32953014&t=1
 *@desc：
 *@author： 羽
 *@date： 2022/11/03 10:56:32
 */
export const setIsFollow = (params) => {
  return request({
    url: '/follow',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：转发用户动态
 * 说明 : 登录后调用此接口 ,可以转发用户动态
 *
 * 必选参数 : uid : 用户 id
 *
 * evId : 动态 id
 *
 * forwards : 转发的评论
 *
 * 接口地址 : /event/forward
 *
 * 调用例子 : /event/forward?evId=6712917601&uid=32953014&forwards=测试内容
 *@author： 羽
 *@date： 2022/11/24 08:20:59
 */

export const setEventForward = (params) => {
  return request({
    url: '/event/forward',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：删除用户动态
 * 说明 : 登录后调用此接口 ,可以删除用户动态
 *
 * 必选参数 : evId : 动态 id
 *
 * 接口地址 : /event/del
 *
 * 调用例子 : /event/del?evId=6712917601
 *@author： 羽
 *@date： 2022/11/24 09:10:49
 */

export const setEventDel = (evId) => {
  return request({
    url: '/event/del',
    params: {
      evId,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}